package de.justphil.tcg.tcgserver.commons.domain.complete;

import java.util.Collection;
import java.util.Date;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

import de.justphil.tcg.tcgserver.commons.domain.Property;

@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
public class CCard {

	@XmlElement
	private long id;
	
	@XmlElement
	private String name;
	
	@XmlElement
	private int life;
	
	@XmlElement
	private int attack;
	
	@XmlElement
	private int defense;
	
	@XmlElement
	private int agility;
	
	@XmlElement
	private Collection<Property> properties;
	
	@XmlElement
	private Date created;
	
	@XmlElement
	private Date modified;
	
	public CCard() {
		// JAXB conformity
	}

	public CCard(long id, String name, int life, int attack, int defense,
			int agility, Collection<Property> properties, Date created,
			Date modified) {
		super();
		this.id = id;
		this.name = name;
		this.life = life;
		this.attack = attack;
		this.defense = defense;
		this.agility = agility;
		this.properties = properties;
		this.created = created;
		this.modified = modified;
	}
	
	
	/* ######################################################################## */
	/* ######################################################################## */
	/* ######################################################################## */
	

	public long getId() {
		return id;
	}

	public String getName() {
		return name;
	}

	public int getLife() {
		return life;
	}

	public int getAttack() {
		return attack;
	}

	public int getDefense() {
		return defense;
	}

	public int getAgility() {
		return agility;
	}

	public Collection<Property> getProperties() {
		return properties;
	}

	public Date getCreated() {
		return created;
	}

	public Date getModified() {
		return modified;
	}
	
	
	/* ######################################################################## */
	/* ######################################################################## */
	/* ######################################################################## */
	

	public void setId(long id) {
		this.id = id;
	}

	public void setName(String name) {
		this.name = name;
	}

	public void setLife(int life) {
		this.life = life;
	}

	public void setAttack(int attack) {
		this.attack = attack;
	}

	public void setDefense(int defense) {
		this.defense = defense;
	}

	public void setAgility(int agility) {
		this.agility = agility;
	}

	public void setProperties(Collection<Property> properties) {
		this.properties = properties;
	}

	public void setCreated(Date created) {
		this.created = created;
	}

	public void setModified(Date modified) {
		this.modified = modified;
	}
	
	
}
